A multi-die integrated circuit (IC) is a device created within a single package that includes two or more dies. Each die is a block or portion of semiconductor material that implements a given circuit or function. The dies are integrated so that the dies may be treated as a single IC. The dies may be unified using a variety of known structures. In some cases, for example, the dies are stacked. In other cases, the dies are mounted side-by-side on a substrate such as another die. Despite the particular way the dies are arranged in the package, conductive structures such as wires, vias, and so forth couple the dies thereby allowing the dies to exchange signals with one another. These conductive structures, however, are often limited in number.
In order to implement a circuit design using a multi-die IC, the circuit design must be partitioned. The partitioning process determines which components of the circuit design are allocated to each of the dies of the multi-die IC. The partitioning process must take care not to generate a partitioned circuit design that violates timing or requires more of the inter-die conductive structures than are available.